package com.xpsoft.oa.model.project;


import com.google.gson.annotations.Expose;
import com.xpsoft.oa.model.system.AppUser;

/**
 * ProjectUser Base Java Bean, base class for the.oa.model, mapped directly to database table
 * 
 * Avoid changing this file if not necessary, will be overwritten. 
 *
 * TODO: add class/table comments
 */
public class ProjectUser extends com.xpsoft.core.model.BaseModel {

	@Expose
    protected Long id;  
	@Expose
	protected Project project;
	@Expose
	protected AppUser user;
	@Expose
	protected Integer type;
	
	public final static int GRADEN_WORKER = 1;
	public final static int GREEN_WORKER = 2;
	public final static int WATER_WORKER = 3;
	public final static int MATER_WORKER = 4;
	public final static int FINAL_WORKER = 5;
	public final static int QUALITY_WORKER = 6;

	/**
	 * Default Empty Constructor for class ProjectUser
	 */
	public ProjectUser () {
		super();
	}
	
	/**
	 * Default Key Fields Constructor for class ProjectUser
	 */
	public ProjectUser (
		 Long in_id
        ) {
		this.setId(in_id);
    }

    

	/**
	 * 	 * @return Long
     * @hibernate.id column="id" type="java.lang.Long" generator-class="native"
	 */
	public Long getId() {
		return this.id;
	}
	
	/**
	 * Set the id
	 */	
	public void setId(Long aValue) {
		this.id = aValue;
	}	


	public Project getProject() {
		return project;
	}

	public void setProject(Project project) {
		this.project = project;
	}

	public AppUser getUser() {
		return user;
	}

	public void setUser(AppUser user) {
		this.user = user;
	}

	/**
	 * 	 * @return Integer
	 * @hibernate.property column="type" type="java.lang.Integer" length="10" not-null="false" unique="false"
	 */
	public Integer getType() {
		return this.type;
	}
	
	/**
	 * Set the type
	 */	
	public void setType(Integer aValue) {
		this.type = aValue;
	}	

}
